package org.jeecg.modules.charge.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.entity.charge.ChargeBills;
import org.jeecg.vo.charge.ComMonthReportReq;
import org.jeecg.vo.charge.ComMonthReportResp;

import java.util.List;

/**
 * @Description: 综合月报表
 * @Author: houms
 * @Date:   2019-09-25
 * @Version: V1.0
 */
public interface ChargeComMonthReportMapper{

    List<ComMonthReportResp> getShouldMonth(@Param("bean") ComMonthReportReq comMonthReport); //当月应收

    List<ComMonthReportResp> selectShouldYear(@Param("bean") ComMonthReportReq comMonthReport); //整年应收

    List<ComMonthReportResp > getsumShouldYear(@Param("bean") ComMonthReportReq comMonthReport); //当年累计应收

    List<ComMonthReportResp > getsumOwnYear(@Param("bean") ComMonthReportReq comMonthReport); //旧欠应收

    List<ComMonthReportResp > getRealMonth(@Param("bean") ComMonthReportReq comMonthReport);//收当月

    List<ComMonthReportResp > getRealYear(@Param("bean") ComMonthReportReq comMonthReport); //收当年

    List<ComMonthReportResp > getownReal(@Param("bean") ComMonthReportReq comMonthReport); //收旧欠

    List<ComMonthReportResp > getadvanceMonth(@Param("bean") ComMonthReportReq comMonthReport);

    List<ComMonthReportResp > getadvanceMonthTo(@Param("bean") ComMonthReportReq comMonthReport);

    List<ComMonthReportResp > getAdvanceBlance(@Param("bean") ComMonthReportReq comMonthReport);

    List<ComMonthReportResp > getsumrealYear(@Param("bean") ComMonthReportReq comMonthReport);

    List<ComMonthReportResp > getsumRealOwnYear(@Param("bean") ComMonthReportReq comMonthReport);

    List<ComMonthReportResp> getsumAllMoney(@Param("bean") ComMonthReportReq comMonthReport); //账目累计实收

    List<ChargeBills>  shouldMonthDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);//当月详情

    List<ChargeBills>  sumShouldYearDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);//当年累计应收详情

    List<ChargeBills>  sumOwnYearDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);//旧欠应收详情

    List<ChargeBills> sumDueYearDetails(@Param("bean") ComMonthReportReq commonthReport,@Param("page") Page<ChargeBills> page); //合计应收详情

    List<ChargeBills>  realMonthDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);//收当月详情

    List<ChargeBills>  realYearDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);//收当年详情

    List<ChargeBills> ownRealDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page); // 收旧欠详情

    List<ChargeBills> sumRealOverdueYearDetails(@Param("bean") ComMonthReportReq commonthReport,@Param("page") Page<ChargeBills> page); // 收欠费详情

    List<ChargeBills> advanceMonthDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);// 预收详情

    List<ChargeBills> sumRealYearDetails(@Param("bean") ComMonthReportReq commonthReport,@Param("page") Page<ChargeBills> page); //实收合计详情

    List<ChargeBills> advanceMonthToDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page); // 预收转入详情

    List<ChargeBills> advanceBlanceDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);// 预收余额详情

    List<ChargeBills> sumrealYearDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);  // 当年累计实收详情

    List<ChargeBills> sumRealOwnYearDetailed(@Param("bean") ComMonthReportReq commonthReport,@Param("page") Page<ChargeBills> page);  // 旧欠累计数详情

    List<ChargeBills> sumAllMoneyDetailed(@Param("bean") ComMonthReportReq comMonthReport,@Param("page") Page<ChargeBills> page);  // 账目累计实收详情

    List<ComMonthReportResp> getBaseResp(@Param("bean") ComMonthReportReq comMonthReport);
}
